//**************************************************************************
// * file:        NetwPkt.msg
// *
// * author:      Daniel Willkomm
// *
// * copyright:   (C) 2004 Telecommunication Networks Group (TKN) at
// *              Technische Universitaet Berlin, Germany.
// *
// *              This program is free software; you can redistribute it 
// *              and/or modify it under the terms of the GNU General Public 
// *              License as published by the Free Software Foundation; either
// *              version 2 of the License, or (at your option) any later 
// *              version.
// *              For further information see file COPYING 
// *              in the top level directory
// **************************************************************************
// * part of:     framework implementation developed by tkn
// * description: - base class for network layer packets
// *              - subclass to create your own network layer packets
// **************************************************************************/

cplusplus {{
    #include "SimpleAddress.h"
}}

class LAddress::L3Type extends void;

// A basic network layer packet definition
//
// subclass if you want to create your own network layer packet class
//
// The basic network packet contains a destination and source network address.
// Additionally a time to live (ttl) field can be defined in order to limit the
// maximum number of hops the messge will travel. The sequence number is guranteed
// to be unique for all packets generated by one host
//
// @author Daniel Willkomm
packet NetwPkt
{
    LAddress::L3Type destAddr;   // destination address
    LAddress::L3Type srcAddr;    // source address
    int              ttl    = 1; // time to live field (IP)
    unsigned long    seqNum = 0; // sequence number
}

